package com.u1zz.zeus.module.iot.dal.dataobject.product;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors
public class TSLDataSpec {
    /**
     * 最大,数字类型:int、long、float、double
     */
    private int max;
    /**
     * 最小,数字类型:int、long、float、double
     */
    private int min;
    /**
     * 小数位数,数字类型:float、double
     */
    private int decimals;
    /**
     * 单位,数字类型:int、long、float、double
     */
    private String unit;
    /**
     * 单位名称,数字类型:int、long、float、double，非必填
     */
    private String unitName;
    /**
     * 为true时的文本,默认为`是`,布尔类型:bool
     */
    private String trueText;
    /**
     * 为false时的文本,默认为`否`,布尔类型:bool
     */
    private String falseText;
    /**
     * 为true时的值,默认为`true`,布尔类型:bool
     */
    private String trueValue;
    /**
     * 为false时的值,默认为`false`,布尔类型:bool
     */
    private String falseValue;
    /**
     * 数组元素的个数，最大512（array类型特有）
     */
    private int size;
    /**
     * 步长（text、enum类型无此参数）
     */
    private int step;
    /**
     * 数据长度，最大10240（text类型特有）
     */
    private int length;
    /**
     * 数组元素的类型（array类型特有）
     */
    private Item item;

    @Data
    public static class Item {
        /**
         * 数组元素的类型（array类型特有）
         */
        private String type;
        private List<TSLDataSpec> specs;
    }
}
